Goto

Collaborating Authors

 software architecture


Epically Powerful: An open-source software and mechatronics infrastructure for wearable robotic systems

Leestma, Jennifer K., Nathella, Siddharth R., Nuesslein, Christoph P. O., Mathur, Snehil, Sawicki, Gregory S., Young, Aaron J.

arXiv.org Artificial Intelligence

Epically Powerful is an open-source robotics infrastructure that streamlines the underlying framework of wearable robotic systems - managing communication protocols, clocking, actuator commands, visualization, sensor data acquisition, data logging, and more - while also providing comprehensive guides for hardware selection, system assembly, and controller implementation. Epically Powerful contains a code base enabling simplified user implementation via Python that seamlessly interfaces with various commercial state-of-the-art quasi-direct drive (QDD) actuators, single-board computers, and common sensors, provides example controllers, and enables real-time visualization. To further support device development, the package also includes a recommended parts list and compatibility guide and detailed documentation on hardware and software implementation. The goal of Epically Powerful is to lower the barrier to developing and deploying custom wearable robotic systems without a pre-specified form factor, enabling researchers to go from raw hardware to modular, robust devices quickly and effectively. Though originally designed with wearable robotics in mind, Epically Powerful is broadly applicable to other robotic domains that utilize QDD actuators, single-board computers, and sensors for closed-loop control.


Enabling Generic Robot Skill Implementation Using Object Oriented Programming

Farrukh, Abdullah, Wagner, Achim, Ruskowski, Martin

arXiv.org Artificial Intelligence

Developing robotic algorithms and integrating a robotic subsystem into a larger system can be a difficult task. Particularly in small and medium-sized enterprises (SMEs) where robotics expertise is lacking, implementing, maintaining and developing robotic systems can be a challenge. As a result, many companies rely on external expertise through system integrators, which, in some cases, can lead to vendor lock-in and external dependency. In the academic research on intelligent manufacturing systems, robots play a critical role in the design of robust autonomous systems. Similar challenges are faced by researchers who want to use robotic systems as a component in a larger smart system, without having to deal with the complexity and vastness of the robot interfaces in detail. In this paper, we propose a software framework that reduces the effort required to deploy a working robotic system. The focus is solely on providing a concept for simplifying the different interfaces of a modern robot system and using an abstraction layer for different manufacturers and models. The Python programming language is used to implement a prototype of the concept. The target system is a bin-picking cell containing a Yaskawa Motoman GP4.


Adopting Large Language Models to Automated System Integration

Pesl, Robin D.

arXiv.org Artificial Intelligence

Modern enterprise computing systems integrate numerous subsystems to resolve a common task by yielding emergent behavior. A widespread approach is using services implemented with Web technologies like REST or OpenAPI, which offer an interaction mechanism and service documentation standard, respectively. Each service represents a specific business functionality, allowing encapsulation and easier maintenance. Despite the reduced maintenance costs on an individual service level, increased integration complexity arises. Consequently, automated service composition approaches have arisen to mitigate this issue. Nevertheless, these approaches have not achieved high acceptance in practice due to their reliance on complex formal modeling. Within this Ph.D. thesis, we analyze the application of Large Language Models (LLMs) to automatically integrate the services based on a natural language input. The result is a reusable service composition, e.g., as program code. While not always generating entirely correct results, the result can still be helpful by providing integration engineers with a close approximation of a suitable solution, which requires little effort to become operational. Our research involves (i) introducing a software architecture for automated service composition using LLMs, (ii) analyzing Retrieval Augmented Generation (RAG) for service discovery, (iii) proposing a novel natural language query-based benchmark for service discovery, and (iv) extending the benchmark to complete service composition scenarios. We have presented our software architecture as Compositio Prompto, the analysis of RAG for service discovery, and submitted a proposal for the service discovery benchmark. Open topics are primarily the extension of the service discovery benchmark to service composition scenarios and the improvements of the service composition generation, e.g., using fine-tuning or LLM agents.


Sight Guide: A Wearable Assistive Perception and Navigation System for the Vision Assistance Race in the Cybathlon 2024

Pfreundschuh, Patrick, Cioffi, Giovanni, von Einem, Cornelius, Wyss, Alexander, van de Venn, Hans Wernher, Cadena, Cesar, Scaramuzza, Davide, Siegwart, Roland, Darvishy, Alireza

arXiv.org Artificial Intelligence

--Visually impaired individuals face significant challenges navigating and interacting with unknown situations, particularly in tasks requiring spatial awareness and semantic scene understanding. T o accelerate the development and evaluate the state of technologies that enable visually impaired people to solve these tasks, the Vision Assistance Race (VIS) at the Cybathlon 2024 competition was organized. In this work, we present Sight Guide, a wearable assistive system designed for the VIS. The system processes data from multiple RGB and depth cameras on an embedded computer that guides the user through complex, real-world-inspired tasks using vibration signals and audio commands. Our software architecture integrates classical robotics algorithms with learning-based approaches to enable capabilities such as obstacle avoidance, object detection, optical character recognition, and touchscreen interaction. In a testing environment, Sight Guide achieved a 95.7% task success rate, and further demonstrated its effectiveness during the Cybathlon competition. This work provides detailed insights into the system design, evaluation results, and lessons learned, and outlines directions towards a broader real-world applicability. N 2020, approximately 43 million people worldwide were blind, with an additional 295 million suffering from moderate to severe visual impairments [1]. Despite advancements in medical treatments [2], these numbers are projected to rise by 2050 [1]. For individuals with visual impairments, the lack of visual information about their surroundings poses substantial challenges in daily activities. While infrastructure adaptations, such as making public transport more accessible, can mitigate some difficulties, many everyday tasks remain impracticable for blind individuals. To enhance their autonomy, most visually impaired people rely on assistive technologies. Assistive technologies in this context are hardware-and software-based solutions that help people with disabilities to overcome or to reduce barriers in their lives. Although a variety of vision aids leveraging computer vision and artificial intelligence are available on the market, these solutions are typically limited to specific tasks like text-to-speech conversion [3], description of the surrounding [4], or navigation assistance [5], [6].


From Requirements to Architecture: Semi-Automatically Generating Software Architectures

Eisenreich, Tobias

arXiv.org Artificial Intelligence

To support junior and senior architects, I propose developing a new architecture creation method that leverages LLMs' evolving capabilities to support the architect. This method involves the architect's close collaboration with LLM-fueled tooling over the whole process. The architect is guided through Domain Model creation, Use Case specification, architectural decisions, and architecture evaluation. While the architect can take complete control of the process and the results, and use the tooling as a building set, they can follow the intended process for maximum tooling support. The preliminary results suggest the feasibility of this process and indicate major time savings for the architect.


ARLO: A Tailorable Approach for Transforming Natural Language Software Requirements into Architecture using LLMs

Helmi, Tooraj

arXiv.org Artificial Intelligence

--Software requirements expressed in natural language (NL) frequently suffer from verbosity, ambiguity, and inconsistency. This creates a range of challenges, including selecting an appropriate architecture for a system and assessing different architectural alternatives. Relying on human expertise to accomplish the task of mapping NL requirements to architecture is time-consuming and error-prone. This paper proposes ARLO, an approach that automates this task by leveraging (1) a set of NL requirements for a system, (2) an existing standard that specifies architecturally relevant software quality attributes, and (3) a readily available Large Language Model (LLM). Specifically, ARLO determines the subset of NL requirements for a given system that is architecturally relevant and maps that subset to a tailorable matrix of architectural choices. ARLO applies integer linear programming on the architectural-choice matrix to determine the optimal architecture for the current requirements. We demonstrate ARLO's efficacy using a set of real-world examples. We highlight ARLO's ability (1) to trace the selected architectural choices to the requirements and (2) to isolate NL requirements that exert a particular influence on a system's architecture. This allows the identification, comparative assessment, and exploration of alternative architectural choices based on the requirements and constraints expressed therein. I NTRODUCTION Software systems are ever-evolving, with increases in size and complexity that call for careful elicitation of requirements and architectural choices [1]. While it has been long recognized that requirements and architecture co-evolve [2], [3], understanding their interactions, especially early in the software development process, is still an open challenge. More specifically, there is a scarcity of knowledge regarding their alignment, architecture-to-requirements traceability, and conserving architectural knowledge [4]. Most software requirements are still captured using natural language (NL) [5]-[7]. The informal nature of NLs is a significant obstacle in machine processing of such requirements [8]. In the past, researchers have proposed approaches to classify the NL requirements into different categories of functional and non-functional requirements [5], [6], to identify quality attributes from NL requirements, to facilitate architectural decisions by leveraging machine learning [7], and so on. While promising, these approaches require large, curated datasets and high model-building effort [9]. Translating NL requirements to architecture-related design decisions is a cumbersome task that has long been recognized in the research community [1].


Speeding up design and making to reduce time-to-project and time-to-market: an AI-Enhanced approach in engineering education

Adorni, Giovanni, Grosso, Daniele

arXiv.org Artificial Intelligence

This paper explores the integration of AI tools, such as ChatGPT and GitHub Copilot, in the Software Architecture for Embedded Systems course. AI-supported workflows enabled students to rapidly prototype complex projects, emphasizing real-world applications like SLAM robotics. Results demon-started enhanced problem-solving, faster development, and more sophisticated outcomes, with AI augmenting but not replacing human decision-making.


Generative AI for Software Architecture. Applications, Trends, Challenges, and Future Directions

Esposito, Matteo, Li, Xiaozhou, Moreschini, Sergio, Ahmad, Noman, Cerny, Tomas, Vaidhyanathan, Karthik, Lenarduzzi, Valentina, Taibi, Davide

arXiv.org Artificial Intelligence

Context: Generative Artificial Intelligence (GenAI) is transforming much of software development, yet its application in software architecture is still in its infancy, and no prior study has systematically addressed the topic. Aim: We aim to systematically synthesize the use, rationale, contexts, usability, and future challenges of GenAI in software architecture. Method: We performed a multivocal literature review (MLR), analyzing peer-reviewed and gray literature, identifying current practices, models, adoption contexts, and reported challenges, extracting themes via open coding. Results: Our review identified significant adoption of GenAI for architectural decision support and architectural reconstruction. OpenAI GPT models are predominantly applied, and there is consistent use of techniques such as few-shot prompting and retrieved-augmented generation (RAG). GenAI has been applied mostly to initial stages of the Software Development Life Cycle (SDLC), such as Requirements-to-Architecture and Architecture-to-Code. Monolithic and microservice architectures were the dominant targets. However, rigorous testing of GenAI outputs was typically missing from the studies. Among the most frequent challenges are model precision, hallucinations, ethical aspects, privacy issues, lack of architecture-specific datasets, and the absence of sound evaluation frameworks. Conclusions: GenAI shows significant potential in software design, but several challenges remain on its path to greater adoption. Research efforts should target designing general evaluation methodologies, handling ethics and precision, increasing transparency and explainability, and promoting architecture-specific datasets and benchmarks to bridge the gap between theoretical possibilities and practical use.


Assessing LLMs for Front-end Software Architecture Knowledge

Guerra, L. P. Franciscatto, Ernst, N.

arXiv.org Artificial Intelligence

Large Language Models (LLMs) have demonstrated significant promise in automating software development tasks, yet their capabilities with respect to software design tasks remains largely unclear. This study investigates the capabilities of an LLM in understanding, reproducing, and generating structures within the complex VIPER architecture, a design pattern for iOS applications. We leverage Bloom's taxonomy to develop a comprehensive evaluation framework to assess the LLM's performance across different cognitive domains such as remembering, understanding, applying, analyzing, evaluating, and creating. Experimental results, using ChatGPT 4 Turbo 2024-04-09, reveal that the LLM excelled in higher-order tasks like evaluating and creating, but faced challenges with lower-order tasks requiring precise retrieval of architectural details. These findings highlight both the potential of LLMs to reduce development costs and the barriers to their effective application in real-world software design scenarios. This study proposes a benchmark format for assessing LLM capabilities in software architecture, aiming to contribute toward more robust and accessible AI-driven development tools.


Modern Middlewares for Automated Vehicles: A Tutorial

Klüner, David Philipp, Molz, Marius, Kampmann, Alexandru, Kowalewski, Stefan, Alrifaee, Bassam

arXiv.org Artificial Intelligence

This paper offers a tutorial on current middlewares in automated vehicles. Our aim is to provide the reader with an overview of current middlewares and to identify open challenges in this field. We start by explaining the fundamentals of software architecture in distributed systems and the distinguishing requirements of Automated Vehicles. We then distinguish between communication middlewares and architecture platforms and highlight their key principles and differences. Next, we present five state-of-the-art middlewares as well as their capabilities and functions. We explore how these middlewares could be applied in the design of future vehicle software and their role in the automotive domain. Finally, we compare the five middlewares presented and discuss open research challenges.